import static net.mindview.util.Print.*;

class Cleanser {
    private String s = "Cleanser";
    public void append(String a) { s += a; }
    public void dilute() { append("dilute()"); }
    public void apply() { append(" apply() "); }
    public void scrub() { append(" scrub() "); }
    public String toString() { return s; }
    public static void main(String[] args){
        Cleanser x = new Cleanser();
        x.dilute();
        x.apply();
        x.scrub();
        print(x);
    }
}

public class Detergent extends Cleanser{
    public void scrub() {
        append("Detergent.scrub()");
        super.scrub();  //super就是基类
    }
    public void foam() { append("foam()"); }
    public static void main(String[] args) {
        Detergent x = new Detergent();
        x.dilute();
        x.apply();
        x.scrub();
        x.foam();
        print(x);
        print("检测基类");
        Cleanser.main(args);    //调用基类的main方法
    }
}